package br.com.kees.entidade;

import javax.persistence.Transient;
import java.math.BigDecimal;
import java.util.Calendar;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

@Entity
@Table(name = "venda")
public class Venda {
	
	@Id
	@GeneratedValue(strategy = GenerationType.AUTO, generator = "VENDA_SEQ")
	@SequenceGenerator(name = "CLIENTE_SEQ", sequenceName = "VENDA_SEQ")
	@Column(name = "ID")
	private Integer id;
	
	@ManyToOne
	@JoinColumn(name="id_forma_entrega")
	private FormaEntrega formaEntrega;
	
	@ManyToOne
	@JoinColumn(name="id_forma_pagamento")
	private FormaEntrega formaPagamento;
	
	@ManyToOne
	@JoinColumn(name="id_cliente")
	private Cliente cliente;
	
	@Column(name = "valor_total")
	private BigDecimal valorTotal;
	
	@Column(name = "valor_cheio")
	private BigDecimal valorCheio;
	
	@Column(name = "valor_desconto")
	private BigDecimal valorDesconto;
	
	@Column(name = "data")
	private Calendar data;
	
	@Transient
	private List<VendaProduto> produtos;

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public FormaEntrega getFormaEntrega() {
		return formaEntrega;
	}

	public void setFormaEntrega(FormaEntrega formaEntrega) {
		this.formaEntrega = formaEntrega;
	}

	public FormaEntrega getFormaPagamento() {
		return formaPagamento;
	}

	public void setFormaPagamento(FormaEntrega formaPagamento) {
		this.formaPagamento = formaPagamento;
	}

	public Cliente getCliente() {
		return cliente;
	}

	public void setCliente(Cliente cliente) {
		this.cliente = cliente;
	}

	public BigDecimal getValorTotal() {
		return valorTotal;
	}

	public void setValorTotal(BigDecimal valorTotal) {
		this.valorTotal = valorTotal;
	}

	public BigDecimal getValorCheio() {
		return valorCheio;
	}

	public void setValorCheio(BigDecimal valorCheio) {
		this.valorCheio = valorCheio;
	}

	public BigDecimal getValorDesconto() {
		return valorDesconto;
	}

	public void setValorDesconto(BigDecimal valorDesconto) {
		this.valorDesconto = valorDesconto;
	}

	public Calendar getData() {
		return data;
	}

	public void setData(Calendar data) {
		this.data = data;
	}

	public List<VendaProduto> getProdutos() {
		return produtos;
	}

	public void setProdutos(List<VendaProduto> produtos) {
		this.produtos = produtos;
	}
	
	
	

}
